The present invention relates to a method as set forth in the preamble of the appended claim 1 for supporting the quality of service of data transmission in wireless communication according to the Internet protocol, a system as set forth in the preamble of the appended claim 8, and a wireless communication device as set forth in the preamble of the appended claim 14.
The International Standardisation Organisation ISO has developed an open system interconnection (OSI) model for describing the distribution of data transmission in different layers. The layers are, listed from top downwards, an application layer, a presentation layer, a session layer, a transport layer, a network layer, a data link layer, and a physical layer. In view of the present specification, the most essential layers are the physical layer, the data link layer and the application layer.
The European Telecommunication Standards Institute ETSI has defined a standard for a wireless local area network (ETS 300 652), HIPERLAN Type 1 (high performance radio local area network) to be applied e.g. in wireless local area networks of short distances, such as local area networks of offices. In a local area network according to this standard, several devices may be connected which communicate on the same data transmission channel using packet data transmission. The standard defines the two lowermost layers of said OSI model: the physical layer and the data link layer.
The Conference of European Post and Telephone Administrations CEPT has defined a standard TR 22-05 where the frequency range from 5.15 GHz to 5.3 GHz is reserved for data transmission according to the HIPERLAN standard. This frequency range is divided into five channels, each of which being allotted a band width of ca. 23.5 MHz. FIG. 1a shows a reduced example of such a local area network according to the HIPERLAN standard. It consists of terminal nodes 101a, 101b, 101c, 101d, a switching node 102 and a gateway node 103. The terminal nodes 101a-101d may communicate directly with each other, or they may communicate via the switching node 102 if there is no direct radio communication between the terminal nodes 101a-101d due to e.g. too long a distance or obstacles dampening radio signals. Via the switching node 102, the terminal nodes 101a-101d can also communicate with the gateway node 103 which is coupled to e.g. a wireless local area network 104 or the Internet network. Thus, the terminal node 101a-101d can be used as an Internet host, if necessary.
FIG. 1b shows the structure of a data transfer packet according to the HIPERLAN standard. First, there is a header which is transmitted at a lower bit rate (LBR) than the other blocks and which includes the address information and the length of the packet. This is followed by a synchronisation block for synchronising the receiver to the data blocks of the packet DB(1), DB(2), . . . , DB(m) containing the actual information to be transmitted. One packet may contain a maximum of 47 data blocks. Each packet can be addressed to either one receiver (unicast packet) or several receivers (multicast packet). As the third packet type the HIPERLAN standard defines an acknowledgement packet (ACK) by which the receiver of the packet informs about the successful receipt of the packet so that the sender will know if there is a need to retransmit the packet. In packets requiring data transmission in real time, it can be defined that the receipt of the packet is not acknowledged, because the information contained in the packet could be outdated if retransmitted. Packets of this kind are, for instance, packets for audio applications. On the other hand, for some real-time applications with higher quality demands, such as video applications, it is possible to define limited packet acknowledgement, whereby the acknowledgement is transmitted for several packets with one message. In packets not requiring real time, it is possible to define the acknowledgement to be sent after the receipt of each packet.
The transmission and receipt take place on the same channel without external synchronisation. The channel is listened to by the receiver of the transmitting node for a certain time, and if no communication is detected on this channel within this time, it is assumed that the channel is free and transmission is started. However, if communication is detected on this channel, the receiver is synchronised with this transmission. After the transmission, a possible acknowledgement message is waited for, and after this, an attempt for obtaining the channel can be started.
However, there may be several nodes waiting for transmission turns, whereby it may occur that several terminal devices try to transmit simultaneously. This can be solved e.g. so that the nodes are allotted different priorities, whereby a node with a lower priority will wait a longer time after the end of a transmission before it starts to transmit, if no communication is detected on the channel within this time.
The term xe2x80x9cInternetxe2x80x9d is commonly used to describe an information resource from which information can be retrieved from a data processor, such as a personal computer (PC). The data processor communicates via a modem with a telecommunication network. This information resource is distributed world-wide, comprising several storage locations which also communicate with the telecommunication network. The Internet is made operable by defining certain data communication standards and protocols, such as TCP (transfer control protocol), UPD (user datagram protocol), and IP (Internet protocol), which are used for controlling data transmission between numerous parts of the Internet. The TCP and the UDP are involved with preventing and correcting data transmission errors in the data transmitted in the Internet; the IP is involved with data structure and routing. The currently used versions of the Internet protocol are IPv4 and IPv6.
Thanks to the growing popularity of open data systems, the Transmission Control Protocol/Internet Protocol (TCP/IP) communication protocol has become a generally used protocol whereby computers of different sizes and brands can communicate with each other. TCP/IP support is currently available for almost all operating systems. The network layer protocol of TCP/IP, the Internet Protocol IP, is intended to be routed by gateways, i.e. routers. The routing is conducted by means of IP addresses of four bytes and routing tables. Thanks to the Internet protocol, computers using the TCP/IP can transfer messages in the routing network even to the other side of the world.
The Internet, which covers well particularly the industrialised countries, is a huge network of routers using the TCP/IP communication protocol. The largest group of users of the Internet, which was originally in scientific use only, is now firms which buy their services from commercial connection providers. In the Internet, each device has its own individual IP address. In the Internet protocol version IPv4, the IP address consists of 32 bits, i.e. it is a digit of four bytes which is divided in two parts: an organisation-specific network address and a network-specific device address. For facilitating the processing of addresses, a decimal dot notation system has been introduced, in which the addresses are indicated by digits of 8 bits separated by dots (an octet). One octet is a number from 0 to 255. This address mechanism is further divided into three different classes (ABC) which make network and device addresses of different lengths possible.
Further, with the growing popularity of the Internet, the length of the address blocks in the data packets of Internet messages is no longer sufficient in all situations for indicating all the addresses in use. This is one reason for developing the Internet protocol version IPv6. In this protocol version, the length of the address blocks is increased to 128 bits, which means in practice that an individual address can be reserved for all devices that are connected with the Internet network. FIG. 2 shows the blocks of the data packet in Internet messages.
The header block consists of the following elements:
Version IP version of 4 bits (=6)
Prio. 4 bit priority,
Flow label 24 bit label for identifying the connection in the application layer,
Payload length 16 bit integer indicating the length of the payload, i.e. the length of the packet after the header in bytes,
Next header data of 8 bits determining the header immediately following the IPv6 header,
Top limit integer counter of 8 bits which is reduced by one at the each device (node) which transmits the packet further; the packet is rejected if the value is reduced to zero,
Source address the 128 bit address of the sender of the original packet,
Destination address the 128 bit address of the intended recipient.
The header is followed by the payload block, i.e. the actual information to be transmitted.
Physically, the Internet consists of communication network arranged in a hierarchy, for example local area networks (LAN), regional telecommunication networks, and international telecommunication networks. These communication networks are coupled internally and externally with routers which transmit information from the transmitting terminal equipment or from the preceding router in the chain of data transmission, and route the information to the receiving terminal equipment or to the next router in the chain of data transmission.
FIG. 3 shows the coupling of the transmitting terminal equipment (source host, SH) and the receiving terminal equipment (destination host, DH) to the Internet via corresponding local area networks LAN and routers R.
Below in this specification, the transmitting terminal equipment and receiving terminal equipment will also be called by the common term Internet host. The Internet host can be typically used either as the source host SH and the destination host DH.
An Internet host, coupled to the Internet network via a local area network LAN, is either provided with a permanently defined Internet address or the address is a dynamic address generated by the server of the local area network (for example by using a dynamic host configuration protocol DHCP). In case the Internet host is coupled by a modem to a telecommunication network, the telecommunication terminal must ask for an Internet address from an Internet service provider to which the Internet host is registered. This is conducted e.g. according to a point-to-point protocol (PPP) formed above the Internet protocol layer. In both cases, the information to be transmitted in the Internet is routed to the Internet host possibly via several communication networks and routers from a remote host by using a determined Internet address.
The IP defines the transmission of the communication in packets (datagrams). The packet data transmission is one reason for the popularity of the Internet, because it allows transmission in bursts which does not require constant on-line connection and makes it possible that several Internet hosts are coupled in the same telephone connection. When a router receives a packet containing a destination address, the router routes the packet forward, if there is free capacity in the buffer memory of the router and at least one open telephone line. If there is not sufficient memory space or no open telephone line available at the moment, the packet is rejected and the source host or the preceding router must try retransmission later. In general, the Internet does not support timecritical data transmission, and the method of best effort offered by the Internet protocol is sufficient.
In the transmission of packets according to the Internet protocol, the packets can be transmitted directly to the receiver only when the network elements of the addresses of both the host and the destination are the same. In other cases, the packets are transmitted to a router which takes care of transmitting the packets further, either to the next router or to the destination, if the recipient is in the network of the router. In each router, each packet entering the router is transferred from the data link layer according to the OSI model to the network layer, where the header of the packets is examined, and on the basis of the address data therein, a decision is made where the packet is to be transmitted. For transmission, the packets are transferred back to packets of the communication layer. Because the Internet protocol has the character of a connectionless protocol, the above-mentioned operations must be taken for each packet entering the router. If the communication layer is fast, for example in accordance with the asynchronous transfer mode ATM, the processing of the packets takes a significant part of the time used for transmission. Thus, the whole transmission capacity of the transfer line cannot be utilised effectively. For correcting this situation, e.g. Ipsilon Networks has developed a coupling solution. In this solution, an attempt is made to detect time-consuming data transmission flows and to couple them directly with a communication layer.
The coupling solution by Ipsilon Networks consists of switches and controllers for controlling their operation. When a continuous communication flow is detected by the controller in any protocol communication in the Internet, the controller requests the transmitter to label the packets of said communication flow with a flow label, i.e. to open a so-called virtual channel for this communication flow. If the same finding is made by the receiver, also it requests for separation of the communication flow onto a separate virtual channel. Subsequently, this controller between the transmitter and the receiver may locally control their own switch to turn on direct communication between these two virtual channels. Because the presented coupling solution is based on labelling communication flows, it contains for each label a defined time limit after which the label is rejected, if there is no longer communication on the channel labelled by it. This reduces the number of different labels required simultaneously. In this solution, the coupling is made on the basis of communication between three nodes, and the switching request is made by the sender and/or the receiver. The coupling reduces primarily the delay of data transmission in comparison with routing.
This coupling solution is only intended for accelerating routing of packets according to the Internet protocol, and this coupling solution requires that three nodes are involved. This solution does not consider the quality of service as such.
Data transmission in packet form improves the degree of capacity utilisation of the communication channel in general, not only for retrieving information from the Internet. For example, packet data transmission can be used in applications, such as voice calls, video negotiations and other communications according to different standards. However, some of these applications are time-critical. For example in a real-time voice call, the service of best effort offered by the Internet protocol may cause significant delays in the transmission and transfer of the audio signal, which affects the understanding of the received audio signal so that e.g. speech is almost or totally unintelligible. Moreover, the delay (the time consumed from the transmission to the receipt of the packet) may vary during the transmission of the audio signal, depending on e.g. the load of the communication network and variations in transmission errors. The same applies also to the transmission of a video signal in real time. There may also be situations where the users of Internet do not want as long delays as occur in many cases for obtaining information from the Internet.
The Internet Engineering Task Force (IETF) is an organisation involved with the development of Internet architecture and operation in the Internet. The IETF is currently developing a new protocol which provides an Internet host the possibility to request a desired quality of service from available defined qualities of service (QoS). This protocol is known as the resource reservation protocol (RSVP), and it is presented in the standard proposition xe2x80x9cResource ReSerVation Protocol (RSVP)xe2x80x94Version 1 Functional Specificationxe2x80x9d by Braden, R.; Zhang, L.; Berson, S.; Herzog, S.; Jamin, S.; RFC 2205, September 1997 (available at http://www.isi.edu/div7/rsvp/pub.html). The Internet host uses the RSVP protocol when requesting a certain quality of service QoS from the Internet network on the basis of the communication flow of the application which the Internet host wishes to receive from a remote host. The RSVP protocol transmits the request through the network by using each router user by the network for transmitting the communication flow to the receiving Internet host. In each router, the RSVP protocol tries to make a resource reservation for said communication flow. Also, the RSVP protocol tries to make a resource reservation for the communication flow in the destination and source Internet host.
For making a resource reservation in any node, which may be either a router or an Internet host, the RSVP protocol communicates with two local terminal modules: access confirmation module and protocol module. The access confirmation module deduces whether the node has sufficient resources for providing the requested quality of service. The protocol module deduces if the user has access to make a reservation. If either checking fails, the RSVP protocol returns an error message to the application that formed the request. If both tests are successful, the RSVP protocol sets the parameters for classifying the packet and for scheduling the packet in the Internet source host for achieving the desired quality of service. The classification of the packet deduces for all packets a service quality class, and the scheduling controls the transmission of the packets for achieving the promised quality of service in all communication flows.
The RSVP protocol operates on top of the Internet protocol both in IPv4 and IPv6. In particular, the RSVP protocol is designed to utilise the strong points of the routing algorithms of the present Internet. The RSVP itself does not conduct routing but it uses routing protocols of lower levels to deduce where reservation requests should be transferred. Because the routing changes the routes for complying with changes in the topology of the Internet network, the RSVP protocol places its reservations for resources in new routes, if necessary.
Telecommunication networks and the Internet are two significant worldwide communication networks, whereby wireless telecommunication terminals are developed for coupling therewith and for their use. For example, cellular networks make it possible to couple a wireless telecommunication terminal to a telecommunication network and offer a high quality of service with circuit-switched technology. These cellular networks and other mobile communication networks can be utilised also for coupling to the Internet network and for utilising multimedia services. However, the circuit-switched system has the disadvantages that the connection from a wireless telecommunication terminal to a wireless communication network is turned on during the whole connection, which takes up the capacity of the wireless communication network and limits the number of simultaneous connections.
In solutions of prior art for wireless packet communications, obtaining a quality of service is not supported. Because of this, a development in the Internet community has been started for solutions supporting the mobility of Internet host and obtaining quality of service in the Internet protocol version IPv6.
In radio links, data is typically transmitted in a channel which is a certain frequency range. In one system, several channels can be available simultaneously. Further, in full duplex data transmission there are separate transmitting and receiving channels, whereby for example a base station transmits on the transmitting channel to the terminal device and the terminal device transmits on the receiving channel to the base station. A problem with radio links is that the radio channel is a limited resource which limits e.g. the band width and/or number of channels that can be reserved as well as the data transmission rate available for the radio link. The radio channel is liable to disturbances, such as distortion of the received signal caused by multi-channel propagation which is due to the fact that the same signal is received at the destination through different routes at different times. To reduce the effect of disturbances, part of the data transmission capacity must be used for transmitting error correction data with the packets, and achieving a desired error probability rate may require several packet retransmissions, which reduces the capacity of the radio link.
In radio links where several data transmission flows are transmitted on one channel, packets of these different data transmission flows are multiplexed. The transmission order can be affected by arranging packets of different data transmission flows in an order of priority, whereby packets of a flow with higher priority are transmitted more often than packets of a flow with lower priority. These include packets of a real-time application which are preferably made as short as possible. On the other hand, packets of applications with lower priority are often considerably longer than packets with higher priority. In systems of prior art, such a long packet prevents the transmission of other packets as long as the transmission of the packet takes. This may cause considerable delays also in the transmission of packets with higher priority, and reduce the quality of service.
It is an aim of the present invention to provide a method for flexible determination of the quality of service in wireless communication in the Internet. The method of the invention is primarily characterised in what will be presented in the characterising part of the appended claim 1. The system of the invention is primarily characterised in what will be presented in the characterising part of the appended claim 8. Further, the wireless communication device of the present invention is primarily characterised in what will be presented in the characterising part of the appended claim 14. The invention is based on the idea that for setting up an Internet connection, the required quality of service is determined for the connection, on the basis of which the connection is attempted to make in a wireless communication network with parameters complying with the set quality of service.
The present invention gives significant advantages to the solutions of prior art. In a wireless connection set up by the method of the invention, the quality of service is obtained in a more reliable way, and moreover, the whole capacity of the wireless communication network can be utilised more efficiently, because for some connections it will suffice to have a quality of service which takes up less of the capacity of the communication network. On the other hand, fewer retransmissions will be required in connections where no high demands are set for the correctness of the data transmission, e.g. for the transmission of speech or video between the Internet network and a wireless telecommunication terminal. Thus, more capacity will be left for applications where e.g. the correctness of data transmission is important, such as in the transmission of data files. Data transmission flows are examined in a centralised manner on the Internet protocol level, and a detected data transmission flow is supplemented with the parameters of the quality of service of the radio interface. These parameters are obtained advantageously from a predetermined data file depending on the radio interface. In this centralised definition of quality of service, only two parties are required, and it is possible to better examine active data transmission flows and quality of service levels defined for them, before setting the quality of service for a new data transmission flow. Thus, new connections will not reduce the quality of service of existing connections.
As another advantage, it can be also mentioned that the packet of one data transmission flow does not need to be transmitted as one packet but it can be divided into smaller parts which are, according to the invention, equipped with a label of the radio flow, on the basis of which the receiver can distinguish between packets of different flows and their parts. Thus, between parts of one long packet, it is possible to transmit a packet of a flow requiring higher quality of service. Further, the number of retransmissions can be reduced, because errors occur typically in bursts, whereby not all parts of a long packet are not necessarily erroneous and these do not need to be retransmitted.